package com.dmp.storm.topology;

import backtype.storm.Config;
import backtype.storm.generated.AlreadyAliveException;
import backtype.storm.generated.AuthorizationException;
import backtype.storm.generated.InvalidTopologyException;
import backtype.storm.generated.StormTopology;

import java.io.IOException;

public interface ITopologyCtx {
	StormTopology  createTopology();
	void startLocal(String topologyName, Config conf);
	void startLocal(String topologyName);
	void startLocal(Config conf);
	void startLocal();
	void startLocalByPropFile(String filepath) throws IOException;
	void start(String topologyName, Config conf) throws AlreadyAliveException, InvalidTopologyException, AuthorizationException;
	void start(String topologyName) throws AlreadyAliveException, InvalidTopologyException, AuthorizationException;
	void start(Config conf) throws AlreadyAliveException, InvalidTopologyException, AuthorizationException;
	void start() throws AlreadyAliveException, InvalidTopologyException, AuthorizationException;
	void startByPropFile(String filepath) throws AlreadyAliveException, InvalidTopologyException, IOException, AuthorizationException;
}
